1. Field
The following description relates to a key calculation and a shared key, and more particularly, to a key calculation method to quickly perform either coordinates operation or an exponentiation operation using two keys, and a shared key generation method using the same.
2. Description of the Related Art
Many encryption schemes have been developed to secure information. For example, a Diffie-Hellman (DH) encryption scheme and an Elliptic Curve Cryptography (ECC) scheme are utilized to more effectively secure information.
In particular, the DH encryption scheme utilizes an exponentiation operation for an encryption process. In addition to the DH encryption scheme, there are many encryption schemes that utilize the exponentiation operation. In the DH encryption scheme, the length of a key (which is an exponent in the exponentiation operation) must be increased by a predetermined length for more stable information security. However, when the length of the key is increased, a magnitude of the exponentiation operation also increases, resulting in a decreased calculation speed. The decrease in the calculation speed more frequently occurs in a mobile device with limited processor capabilities.
Furthermore, the ECC scheme utilizes a coordinates add operation for an encryption process. In the case of the ECC scheme, the length of a key (which is a coefficient to be multiplied by coordinates in the coordinates add operation) also needs to be increased by a predetermined length for more stable information security. However, when the length of the key is increased, a magnitude of the coordinates add operation also increases, resulting in a decreased calculation speed. As in the ECC scheme, the decrease in the calculation speed more frequently occurs in a mobile device with limited processor capabilities.
Also, the greater the magnitude of the operation (exponentiation operation or coordinates add operation), the more memory is used. Accordingly, there is a need for a method that can quickly perform an operation with a relatively small amount of memory.